package highTech.reflect;

import java.lang.reflect.Method;

public class MethodTest5 {
	public static void main(String[] args) throws Exception{
		String str="abc";
		Method methodCharAt=String.class.getMethod("charAt", int.class);
		System.out.println(methodCharAt.invoke(str, 1));
		
		System.out.println(methodCharAt.invoke(str, new Object[]{2}));
		
		Method methodValueOf=String.class.getMethod("valueOf", int.class);
		System.out.println(methodValueOf.invoke(null, 1));//��һ��������null,��ʾ��Method�����Ӧ����һ����̬����
		
		Method mainMethod=Class.forName("reflect.TestArguments").getMethod("main", String[].class);
//		mainMethod.invoke(null, new String[]{"11","22"});//Ϊ�˼���jdk1.4������ַ����飬��ʵ����Ϊ�����������
		mainMethod.invoke(null, (Object)new String[]{"11","22"});
		mainMethod.invoke(null, new Object[]{new String[]{"11","22"}});
	}

}

class TestArguments{
	public static void main(String args[]){
		for(String arg:args){
			System.out.println(arg);
		}
	}
}